package betandregret;
import java.util.Calendar;

import betandregret.interfaces.IBetAndRegret;
import betandregret.interfaces.IKundenBoundary;
import betandregret.interfaces.IMitarbeiterBoundary;

/**
 * 
 */

/**
 * @author Heide
 *
 */
public class BetAndRegret implements IBetAndRegret {

	private static Calendar datum;
	private Kundenschnittstelle kundenBoundary;
	private Mitarbeiterschnittstelle mitarbeiterBoundary;
	private String gruppenNummer;
		
	/* (non-Javadoc)
	 * @see betandregret.interfaces.IBetAndRegret#getGruppenNummer()
	 */
	public String getGruppenNummer() {
		return gruppenNummer;
	}

	/* (non-Javadoc)
	 * @see betandregret.interfaces.IBetAndRegret#getKundenBoundary()
	 */
	public IKundenBoundary getKundenBoundary() {
		return kundenBoundary;
	}

	/* (non-Javadoc)
	 * @see betandregret.interfaces.IBetAndRegret#getMitarbeiterBoundary()
	 */
	public IMitarbeiterBoundary getMitarbeiterBoundary() {
		return mitarbeiterBoundary;
	}

	/* (non-Javadoc)
	 * @see betandregret.interfaces.IBetAndRegret#initialisieren()
	 */
	public void initialisieren() {
		//erstelle die Controls
		Wettverwaltung wv = new Wettverwaltung();
		Spielverwaltung sv = new Spielverwaltung();
		Profilverwaltung pv = new Profilverwaltung();
		
		//Wettverwaltung und Spielverwaltung sollen sich noch gegenseitig kennen
		wv.setSpielverwaltung(sv);
		sv.setWettverwaltung(wv);
		
		//nun k�nnen wir die Boundaries erstellen
		this.kundenBoundary = new Kundenschnittstelle(wv,pv);
		this.mitarbeiterBoundary = new Mitarbeiterschnittstelle(sv);
		this.gruppenNummer = "T09-03";
		if(datum==null){
			Calendar datum = Calendar.getInstance();
			datum.set(2012, 0, 8, 18,4);
			BetAndRegret.datum= datum;
		}
	}

	/* (non-Javadoc)
	 * @see betandregret.interfaces.IBetAndRegret#shutDown()
	 */
	@Override
	public void shutDown() {
		this.kundenBoundary =null;
		this.mitarbeiterBoundary = null;
		setDatum(null);
		this.gruppenNummer = null;		
	}

	/* (non-Javadoc)
	 * @see betandregret.interfaces.IBetAndRegret#setDatum(java.util.Calendar)
	 */
	@Override
	public void setDatum(Calendar datum) {
		BetAndRegret.datum = datum;
	}

	public static Calendar getDatum() {
		return datum;
	}

}
